Retrieving information from an XML data store can be costly in terms of both space and time. This is partially due to the fact that the semi-structured nature of XML does not lend itself to easy indexing. Additionally, maintaining indexes in an XML document can be difficult and time consuming. Most current XML databases have dealt with this problem by restricting the scope of the indexes, allowing only single attributes or single elements within an index. Others do not index XML as XML, instead forcing an internal conversion to a relational storage system to deal with the problem of indexing.